const express = require('express') // 这里用 commojs的模块化（不是es6的

// 靠这个中间件解决前端用history路由模式刷新会404的问题
const history = require('connect-history-api-fallback');

const app = express()
const port = 3000

/*  托管静态资源（vue打包后，dist里的文件全放进去（dist目录不要了

    [前端路由] 用history模式：
        1.地址干净
        2.兼容性相对较差
        3.应用部署需要后端直接，解决刷新会 404 的问题：
            用户也可以访问静态资源 [此时知道是前端路由，因为是用户自己点的。页面上的都是前端路由]
            但是浏览器 刷新 就完蛋，因为在服务器（后端）没有对应的响应的路由
            解决：在后端解决
                （1）.自己写正则匹配，判断哪些请求是前端的，哪些是后端的
                （2）.比如nodejs里加一个中间件

    [前端路由] 用 hash 模式：
        1.地址永远带着#号
        2.兼容性较好，没有刷新 404 的问题
        3.若某个 url 被第三方手机 app 分享，若 app 校验严格，则地址会被标记为不合法
 */
app.use(history()) //必须在挂载静态资源之前使用这个函数
app.use(express.static(__dirname + '/static'))

app.get('/hello', (req, res) => {
    res.send({
        value: 'hello'
    })
})

app.listen(port, () => console.log(`服务器启动成功了！ ${port}!`))